/**
 * 课表类型定义导出
 * @description 导出所有课表相关的类型定义
 */

// 课程安排模板类型
export type {
  IScheduleTemplate,
  IScheduleTemplateCreateRequest,
  IScheduleTemplateUpdateRequest,
  IScheduleTemplateQueryParams,
  IScheduleTemplateStatistics,
  IScheduleTemplateSummary,
  IScheduleTemplateDetail,
  IScheduleTemplateBatchRequest,
  IScheduleTemplateBatchResponse
} from './scheduleTemplate';

// 课程实例类型
export type {
  IScheduleInstance,
  IScheduleInstanceCreateRequest,
  IScheduleInstanceUpdateRequest,
  IScheduleInstanceQueryParams,
  IScheduleInstanceStatistics,
  IScheduleInstanceSummary,
  IScheduleInstanceDetail,
  IScheduleInstanceBatchRequest,
  IScheduleInstanceBatchResponse,
  IScheduleInstanceConflict
} from './scheduleInstance';

// 课表枚举类型
export {
  DayOfWeekEnum,
  DayOfWeekText,
  DayOfWeekShortText,
  ScheduleTemplateStatusEnum,
  ScheduleTemplateStatusText,
  ScheduleTemplateStatusColor,
  ScheduleInstanceStatusEnum,
  ScheduleInstanceStatusText,
  ScheduleInstanceStatusColor,
  AttendanceStatusEnum,
  AttendanceStatusText,
  AttendanceStatusColor,
  PaymentStatusEnum,
  PaymentStatusText,
  PaymentStatusColor,
  ScheduleViewTypeEnum,
  ScheduleViewTypeText,
  ScheduleActionEnum,
  ConflictTypeEnum,
  ConflictTypeText,
  ReminderMethodEnum,
  ReminderMethodText
} from './enums';

// 课表 API 类型
export type {
  IGetScheduleTemplatesResponse,
  IGetScheduleTemplateResponse,
  ICreateScheduleTemplateResponse,
  IUpdateScheduleTemplateResponse,
  IDeleteScheduleTemplateResponse,
  IGetScheduleTemplateStatisticsResponse,
  IGetScheduleTemplateSummariesResponse,
  IScheduleTemplateListRequest,
  IScheduleTemplateBatchOperationResponse,
  IGetScheduleInstancesResponse,
  IGetScheduleInstanceResponse,
  ICreateScheduleInstanceResponse,
  IUpdateScheduleInstanceResponse,
  IDeleteScheduleInstanceResponse,
  IGetScheduleInstanceStatisticsResponse,
  IGetScheduleInstanceSummariesResponse,
  IScheduleInstanceListRequest,
  IScheduleInstanceBatchOperationResponse,
  IGenerateScheduleInstancesRequest,
  IGenerateScheduleInstancesResponse,
  IGenerateScheduleInstancesApiResponse,
  ICheckScheduleConflictRequest,
  ICheckScheduleConflictResponse,
  ICheckScheduleConflictApiResponse,
  IGetMixedScheduleRequest,
  IMixedScheduleData,
  IGetMixedScheduleResponse,
  IScheduleImportRequest,
  IScheduleImportResponse,
  IScheduleExportRequest,
  IScheduleReminderRequest,
  IScheduleReminderResponse
} from './scheduleApi';

// 课表组件类型
export type {
  IScheduleTemplateCardProps,
  IScheduleTemplateFormProps,
  IScheduleInstanceCardProps,
  IDailyScheduleViewProps,
  IWeeklyCalendarViewProps,
  IMixedScheduleViewProps,
  IScheduleConflictDialogProps,
  IScheduleSearchProps,
  IScheduleStatisticsProps,
  IScheduleActionButtonsProps,
  ITimeRangePickerProps
} from './scheduleComponents';